<template>
	<view>
		<button open-type="getUserInfo" @getuserinfo="getUserInfo">授权登录</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {}
		},
		onLoad() {

		},
		methods: {
// 获取用户信息的回调函数
      async getUserInfo(e){
        // console.log(e.detail);
        // 第一步：获取用户信息
        const { iv,encryptedData,signature,rawData } = e.detail;
        // console.log({ iv,encryptedData,signature,rawData });
        // 第二步：获取登录验证码
        // await 同步写法，相当于执行了 then(res) 回调函数，返回值就是 then 里面的 res 
        const res = await uni.login();
        // 获取登录验证码
        const code = res[1].code;
        // console.log({code});
        // 第三步：发送网络请求换取 token
        const res2 = await uni.request({
          method:"POST",
          url:"https://api-hmugo-web.itheima.net/api/public/v1/users/wxlogin",
          data:{
            iv, encryptedData, signature, rawData, code
          }
        });
        // console.log(res2);
        // 第四步：把 token 保存本地并提示用户登录成功
        if(res2[1].data.message){
          const token = res2[1].data.message.token;
          // console.log(token);
          // 把 token 保存到本地存储
          uni.setStorageSync('token', token);
          // 成功提示
          uni.showToast({
            title:"登录成功",
            icon: 'success'
          });
          // 把用户信息保存到本地存储
          uni.setStorageSync('userInfo', e.detail.userInfo);
          // 返回上一页
          uni.navigateBack();
        }else{
          // 失败提示
          uni.showToast({
            title:"网络原因，请重试一次",
            icon: 'none'
          })
        }
      },
		}
	}
</script>

<style>
	
</style>
